const db=wx.cloud.database()
const app=getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: null,
    students: [],
    student: {
      name: '',
      stuNo: '',
      password: ''
    },
    showModalStatus: false,
    buttonStatus: 'insert',
    avatarUrl: './user-unlogin.png',
    userInfo: {},
    hasUserInfo: false,
    logged: false,
    takeSession: false,
    requestResult: '',
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') // 如需尝试获取用户信息可改为false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.init()
  },
  init() {
    var that=this
    db.collection('student').where({
      _id: app.globalData.id
    }).get({
      success(res){
        that.setData({
          students: res.data
        })
      }
    })
  },
  /**
   * 单机事件
   */
  onclick(e) {
    var that=this
    var id=e.currentTarget.dataset.id
    console.log(id)
    db.collection('student').where({
      _id: id
    }).get({
      success(res) {
        that.setData({
          id: id,
          student: {
            name: res.data[0].name,
            stuNo: res.data[0].stuNo,
            password: res.data[0].password
          },
          showModalStatus: true,
          buttonStatus: 'update'
        })
      }
    })
  },
  /**
   * 长按事件
   */
  onlongclick(e) {
    var id=e.currentTarget.dataset.id
    var that=this
    wx.showModal({
      title: '是否删除学生信息',
      content: '删除完后将无法回复',
      success (res) {
        if (res.confirm) {
          db.collection('student').doc(id).remove({
            success(res) {
              wx.showToast({
                title: '删除成功',
                icon: 'success',
                duration: 2000
              })
              that.init()
            }
          })
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },
  /**
   * 打开对话框动画
   */
  powerDrawer: function (e) { 
    var currentStatu = e.currentTarget.dataset.statu; 
    this.util(currentStatu)
   }, 
   util: function(currentStatu){ 
    var that=this
    /* 动画部分 */
    // 第1步：创建动画实例  
    var animation = wx.createAnimation({ 
     duration: 200, //动画时长 
     timingFunction: "linear", //线性 
     delay: 0 //0则不延迟 
    }); 
      
    // 第2步：这个动画实例赋给当前的动画实例 
    this.animation = animation; 
    
    // 第3步：执行第一组动画 
    animation.opacity(0).rotateX(-100).step(); 
    
    // 第4步：导出动画对象赋给数据对象储存 
    this.setData({ 
     animationData: animation.export() 
    }) 
      
    // 第5步：设置定时器到指定时候后，执行第二组动画 
    setTimeout(function () { 
     // 执行第二组动画 
     animation.opacity(1).rotateX(0).step(); 
     // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象 
     this.setData({ 
      animationData: animation 
     }) 
       
     //关闭 
     if (currentStatu == "close" && this.data.buttonStatus=='insert') { 
      this.setData( 
       { 
        showModalStatus: false
       } 
      ); 
      that.insert()
     } 
     if (currentStatu == "close" && this.data.buttonStatus=='update') { 
      this.setData( 
       { 
        showModalStatus: false
       } 
      ); 
      that.update()
     } 
    }.bind(this), 200) 
    // 显示 
    if (currentStatu == "open") { 
     this.setData( 
      { 
        student: {
          name: '',
          stuNo: ''
        },
       showModalStatus: true,
       buttonStatus: 'insert'
      } 
     )
    }
  },
    /**
   * 同步姓名
   */
  syncname(e) {
    var that=this
    this.setData({
      student: {
        name: e.detail.value,
        stuNo: that.data.student.stuNo
      }
    })
  },
  /**
   * 同步学号
   */
  syncstuno(e) {
    var that=this
    this.setData({
      student: {
        name: that.data.student.name,
        stuNo: e.detail.value
      }
    })
  },
  /**
   * 新增数据
   */
  insert() {
    var that=this
    db.collection('student').add({
      data: {
        name: that.data.student.name,
        stuNo: that.data.student.stuNo,
        password: '123456'
      },
      success(res) {
        wx.showToast({
          title: '添加成功',
          icon: 'success',
          duration: 2000
        })
        that.init()
      }
    })
  },
  /**
   * 修改数据
   */
   update() {
    var that=this
    db.collection('student').doc(that.data.id).update({
      data: {
        name: that.data.student.name,
        stuNo: that.data.student.stuNo
      },
      success(res) {
        wx.showToast({
          title: '修改成功',
          icon: 'success',
          duration: 2000
        })
        that.init()
      }
    })
   },
  // 返回到我的课表
  routeToHome() {
    wx.redirectTo({
      url: '../home/home',
    })
  },
  // 返回到修改我的个人信息
  routeToUpdate() {
    wx.redirectTo({
      url: '../update/update',
    })
  },
    // 返回我的个人信息
    routeToMy() {
      wx.redirectTo({
        url: '../my/my',
      })
    }
})